Debugging Tools এবং Techniques গাইড ও নোট

Web Development - ওয়েব২পাই (Web2Py) - Testing এবং Debugging
200

Web2Py একটি শক্তিশালী এবং সহজে ব্যবহারযোগ্য ফ্রেমওয়ার্ক, যা ডেভেলপারদের জন্য অনেক ডিবাগিং টুলস এবং কৌশল সরবরাহ করে। ডিবাগিং হল একটি প্রক্রিয়া যার মাধ্যমে আপনি কোডের ত্রুটি বা বাগ খুঁজে বের করতে এবং সেগুলি সমাধান করতে সহায়তা করেন। Web2Py তে ডিবাগিং টুলস ব্যবহার করে আপনি কোডের সমস্যা দ্রুত চিহ্নিত করতে পারেন, যার ফলে অ্যাপ্লিকেশন উন্নত এবং স্থিতিশীল হয়।

নিচে Web2Py Debugging Tools এবং Techniques সম্পর্কে বিস্তারিত আলোচনা করা হলো।


১. Web2Py Debugging Mode

Web2Py তে ডিবাগ মোড একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা অ্যাপ্লিকেশন চলাকালীন সমস্ত ত্রুটি, এক্সেপশন এবং লগিং তথ্য প্রদর্শন করে। যখন আপনি ডিবাগ মোড চালু করবেন, তখন Web2Py আপনাকে কোডের সমস্যাগুলি দ্রুত চিহ্নিত করতে সহায়তা করবে।

ডিবাগ মোড চালু করা

ডিবাগ মোড চালু করার জন্য, আপনাকে -D অপশন দিয়ে Web2Py চালাতে হবে:

python web2py.py -D

এটি Web2Py কে ডেভেলপমেন্ট মোডে চালু করবে, এবং আপনি ব্রাউজারে ত্রুটি স্ট্যাক ট্রেস এবং ত্রুটির বিস্তারিত দেখতে পাবেন। ডিবাগ মোডে থাকলে, আপনি আপনার কোডের ত্রুটি সম্পর্কে বিস্তারিত তথ্য পাবেন, যেমন:

  • স্ট্যাক ট্রেস
  • ত্রুটির অবস্থান (লাইনে কোথায় ত্রুটি হচ্ছে)
  • ত্রুটির ধরণ এবং কারণ

উদাহরণ:

যদি কোডে কোনো সমস্যা ঘটে, আপনি এই ধরনের ত্রুটি দেখতে পাবেন:

Traceback (most recent call last):
  File "/home/user/web2py/gluon/restricted.py", line 29, in restricted
    raise HTTP(403, "Forbidden")

এটি আপনাকে সঠিক স্থানে ত্রুটি সনাক্ত করতে সাহায্য করবে।


২. Interactive Debugger (pdb)

Web2Py তে Python Debugger (pdb) ব্যবহার করা যেতে পারে। এটি একটি ইন্টারেক্টিভ ডিবাগিং টুল, যা ডেভেলপারদের কোডে ব্রেকপয়েন্ট সেট করতে এবং কোডের ভেতর পা দিয়ে ট্রেস করতে সাহায্য করে।

pdb ব্যবহার করার পদ্ধতি

  1. আপনার কোডে যেখানে আপনি ডিবাগিং করতে চান, সেখানে pdb.set_trace() যোগ করুন। এটি সেই লাইন থেকে কোড এক্সিকিউশন থামিয়ে একটি ডিবাগ সেশন শুরু করবে।

    উদাহরণ:

    import pdb
    
    def test_function():
        a = 10
        b = 0
        pdb.set_trace()  # ডিবাগিং শুরু
        c = a / b  # এখানে ত্রুটি ঘটবে
        return c
    
  2. যখন কোডটি pdb.set_trace() লাইন পর্যন্ত পৌঁছাবে, তখন একটি ইন্টারেক্টিভ সেশন শুরু হবে যেখানে আপনি কোডের ভ্যালু দেখতে পারবেন এবং কোডের বিভিন্ন অংশ পরীক্ষা করতে পারবেন।

pdb কমান্ড উদাহরণ:

  • n: পরবর্তী লাইনে চলে যান।
  • s: ফাংশনের মধ্যে প্রবেশ করুন।
  • c: ডিবাগিং চালিয়ে যান (স্টেপ থ্রু করতে থাকুন)।
  • q: ডিবাগিং বন্ধ করুন।

এই টুলটি ডেভেলপারদের কোডের সমস্যা চিহ্নিত করতে এবং দ্রুত সমাধান করতে সাহায্য করে।


৩. Error Handling and Custom Error Pages

Web2Py তে Error Handling করার জন্য আপনি try-except ব্লক ব্যবহার করতে পারেন, যা কোডে ত্রুটি সনাক্ত করে এবং কাস্টম মেসেজ বা পৃষ্ঠায় প্রদর্শন করতে পারে।

উদাহরণ:

# controllers/default.py
def index():
    try:
        result = 10 / 0  # এখানে একটি ZeroDivisionError হবে
    except ZeroDivisionError as e:
        response.flash = "Cannot divide by zero!"
        logging.error(f"Error occurred: {str(e)}")
    return dict(message="Check the logs for error details.")

এখানে, ZeroDivisionError ঘটলে সেই ত্রুটি ধরা হবে এবং কাস্টম ফ্ল্যাশ মেসেজ দেখানো হবে।


৪. Logging in Web2Py

Web2Py তে logging ব্যবহারের মাধ্যমে আপনি কোডের বিভিন্ন অংশের কার্যকারিতা ট্র্যাক করতে এবং ত্রুটি লগ করতে পারেন। এটি আপনাকে একটি ডিটেইলড রেকর্ড রাখার সুযোগ দেয়, যা পরবর্তীতে ডিবাগিং করতে কাজে আসে।

লগিং কনফিগারেশন:

# controllers/default.py
import logging

# লগিং কনফিগারেশন
logging.basicConfig(filename='logs/app_name.log', level=logging.DEBUG)

def index():
    logging.debug("This is a debug message")
    logging.info("This is an info message")
    logging.warning("This is a warning message")
    logging.error("This is an error message")
    logging.critical("This is a critical message")
    return dict(message="Check the logs for more information.")

এখানে, logging.basicConfig() ফাংশন ব্যবহার করে লগ ফাইলের অবস্থান এবং লেভেল সেট করা হয়েছে। লগ ফাইলে বিভিন্ন ধরনের তথ্য (ডিবাগ, ইনফো, ওয়ানিং, এরর) সেভ করা হবে।


৫. Web2Py’s Interactive Console

Web2Py তে Interactive Console ব্যবহার করে আপনি সরাসরি কোডের অংশ পরীক্ষা করতে পারেন এবং ত্রুটিগুলি শনাক্ত করতে সহায়তা করতে পারেন। এটি একটি অতি সহজ পদ্ধতি কোডের পরিবর্তন এবং ট্রায়াল করার জন্য।

ইন্টারেক্টিভ কনসোল চালু করার জন্য:

python web2py.py -i

এটি Web2Py এর ইন্টারেক্টিভ কনসোল চালু করবে, যেখানে আপনি সরাসরি Python কোড লিখে ফলাফল দেখতে পারবেন এবং সঠিকভাবে ডিবাগ করতে পারবেন।


৬. Web2Py Error Pages (Custom Errors)

Web2Py তে আপনি কাস্টম error pages তৈরি করতে পারেন, যেমন 404 (Not Found) বা 500 (Internal Server Error)। কাস্টম error pages ব্যবহারকারীকে আরও স্পষ্ট তথ্য দিতে সাহায্য করে।

কাস্টম 404 পেজ:

<!-- views/errors/404.html -->
<h1>Page Not Found</h1>
<p>The page you are looking for does not exist.</p>

এই কাস্টম পেজটি Web2Py তখন ব্যবহার করবে যখন ইউজার ভুল URL তে যাবে।


সারাংশ

Web2Py তে Debugging Tools এবং Techniques ব্যবহার করে ডেভেলপাররা তাদের কোডের ত্রুটি সহজে চিহ্নিত করতে এবং দ্রুত সমাধান করতে পারেন। Debug Mode এবং pdb ইন্টারেক্টিভ ডিবাগিং টুলের মাধ্যমে আপনি কোডের মধ্যে প্রবেশ করে ত্রুটি পরীক্ষা করতে পারেন। Error Handling এবং Logging ব্যবহারের মাধ্যমে আপনি ত্রুটির রেকর্ড রাখতে এবং পরবর্তীতে তা চিহ্নিত করতে পারেন। Web2Py Console এবং Custom Error Pages এর মাধ্যমে আরও উন্নত ডিবাগিং করা সম্ভব। Web2Py এর এই টুলস ও কৌশলগুলি ডেভেলপারদের কোডিং প্রক্রিয়া সহজ এবং ত্রুটিমুক্ত করতে সহায়তা করে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...